[INFO] cloning repository https://github.com/baskerville/sketch
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/baskerville/sketch" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbaskerville%2Fsketch", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbaskerville%2Fsketch'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6eb22ebae2f45b9887f719b97a3dcf709e698bb4
[INFO] checking baskerville/sketch against master#03c609abb6638f9d7f49f34326d4137d07f5cd61 for pr-155945
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbaskerville%2Fsketch" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/baskerville/sketch
[INFO] finished tweaking git repo https://github.com/baskerville/sketch
[INFO] tweaked toml for git repo https://github.com/baskerville/sketch written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/baskerville/sketch on toolchain 03c609abb6638f9d7f49f34326d4137d07f5cd61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/baskerville/sketch already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded adler32 v1.0.0
[INFO] [stderr]   Downloaded png v0.6.2
[INFO] [stderr]   Downloaded num-integer v0.1.34
[INFO] [stderr]   Downloaded byteorder v1.0.0
[INFO] [stderr]   Downloaded deflate v0.7.6
[INFO] [stderr]   Downloaded redox_syscall v0.1.17
[INFO] [stderr]   Downloaded time v0.1.37
[INFO] [stderr]   Downloaded chrono v0.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 165e0cd0874de0eb7d2dfeeb7936e7e41177bea765f50bda9522a522ff06e37d
[INFO] running `Command { std: "docker" "start" "-a" "165e0cd0874de0eb7d2dfeeb7936e7e41177bea765f50bda9522a522ff06e37d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "165e0cd0874de0eb7d2dfeeb7936e7e41177bea765f50bda9522a522ff06e37d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "165e0cd0874de0eb7d2dfeeb7936e7e41177bea765f50bda9522a522ff06e37d", kill_on_drop: false }`
[INFO] [stdout] 165e0cd0874de0eb7d2dfeeb7936e7e41177bea765f50bda9522a522ff06e37d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 241b63c37d8b21d19f89b28bd64e031dfad89143c980a10e24f2a0905889b418
[INFO] running `Command { std: "docker" "start" "-a" "241b63c37d8b21d19f89b28bd64e031dfad89143c980a10e24f2a0905889b418", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]     Checking num-traits v0.1.37
[INFO] [stderr]     Checking libc v0.2.21
[INFO] [stderr]     Checking byteorder v1.0.0
[INFO] [stderr]     Checking adler32 v1.0.0
[INFO] [stderr]     Checking inflate v0.1.1
[INFO] [stderr]     Checking bitflags v0.7.0
[INFO] [stderr]     Checking deflate v0.7.6
[INFO] [stderr]     Checking time v0.1.37
[INFO] [stderr]     Checking num-integer v0.1.34
[INFO] [stderr]     Checking num-iter v0.1.33
[INFO] [stderr]     Checking num v0.1.37
[INFO] [stderr]     Checking chrono v0.3.0
[INFO] [stderr]     Checking png v0.6.2
[INFO] [stderr]     Checking sketch v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/input.rs:148:65
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 let mut input_event: InputEvent = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/input.rs:148:65
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 let mut input_event: InputEvent = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contains`, `overlaps`, `absorb`, and `intersection` are never used
[INFO] [stdout]    --> src/geom.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl Rectangle {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn contains(&self, pt: &Point) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn overlaps(&self, rect: &Rectangle) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn absorb(&mut self, rect: &Rectangle) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn intersection(&self, rect: &Rectangle) -> Option<Rectangle> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `model` and `dpi` are never read
[INFO] [stdout]   --> src/device.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Device {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 22 |     pub model: Model,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 23 |     pub proto: TouchProto,
[INFO] [stdout] 24 |     pub dpi: u16,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Device` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KEY_HOME` is never used
[INFO] [stdout]   --> src/input.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const KEY_HOME: u16 = 102;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dims` is never read
[INFO] [stdout]    --> src/input.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct Input {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 108 |     pub events: Receiver<DeviceEvent>,
[INFO] [stdout] 109 |     pub dims: (u32, u32),
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NTX_WFM_MODE_INIT` is never used
[INFO] [stdout]    --> src/framebuffer.rs:150:7
[INFO] [stdout]     |
[INFO] [stdout] 150 | const NTX_WFM_MODE_INIT: u32  = 0;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NTX_WFM_MODE_DU` is never used
[INFO] [stdout]    --> src/framebuffer.rs:151:7
[INFO] [stdout]     |
[INFO] [stdout] 151 | const NTX_WFM_MODE_DU: u32    = 1;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NTX_WFM_MODE_GC4` is never used
[INFO] [stdout]    --> src/framebuffer.rs:153:7
[INFO] [stdout]     |
[INFO] [stdout] 153 | const NTX_WFM_MODE_GC4: u32   = 3;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NTX_WFM_MODE_GL16` is never used
[INFO] [stdout]    --> src/framebuffer.rs:155:7
[INFO] [stdout]     |
[INFO] [stdout] 155 | const NTX_WFM_MODE_GL16: u32  = 5;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NTX_WFM_MODE_GLR16` is never used
[INFO] [stdout]    --> src/framebuffer.rs:156:7
[INFO] [stdout]     |
[INFO] [stdout] 156 | const NTX_WFM_MODE_GLR16: u32 = 6;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NTX_WFM_MODE_GLD16` is never used
[INFO] [stdout]    --> src/framebuffer.rs:157:7
[INFO] [stdout]     |
[INFO] [stdout] 157 | const NTX_WFM_MODE_GLD16: u32 = 7;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EPDC_FLAG_FORCE_MONOCHROME` is never used
[INFO] [stdout]    --> src/framebuffer.rs:165:7
[INFO] [stdout]     |
[INFO] [stdout] 165 | const EPDC_FLAG_FORCE_MONOCHROME: libc::c_uint = 0x02;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Partial` and `Gui` are never constructed
[INFO] [stdout]    --> src/framebuffer.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub enum Mode {
[INFO] [stdout]     |          ---- variants in this enum
[INFO] [stdout] 169 |     Fast,
[INFO] [stdout] 170 |     Partial,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 171 |     Gui,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Mode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `draw_disk`, `toggle_monochrome`, `id`, and `length` are never used
[INFO] [stdout]    --> src/framebuffer.rs:245:12
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl Framebuffer {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub fn draw_disk(&mut self, center: &Point, radius: u32, gray: u8) -> Rectangle {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     pub fn toggle_monochrome(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub fn id(&self) -> Cow<str> {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub fn length(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `InputEvent` does not permit being left uninitialized
[INFO] [stdout]    --> src/input.rs:148:60
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 let mut input_event: InputEvent = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                            |
[INFO] [stdout]     |                                                            this code causes undefined behavior when executed
[INFO] [stdout]     |                                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/input.rs:49:5
[INFO] [stdout]     |
[INFO] [stdout]  49 |     pub time: libc::timeval,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/framebuffer.rs:382:15
[INFO] [stdout]     |
[INFO] [stdout] 382 |     pub fn id(&self) -> Cow<str> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 382 |     pub fn id(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contains`, `overlaps`, `absorb`, and `intersection` are never used
[INFO] [stdout]    --> src/geom.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl Rectangle {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn contains(&self, pt: &Point) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn overlaps(&self, rect: &Rectangle) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn absorb(&mut self, rect: &Rectangle) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn intersection(&self, rect: &Rectangle) -> Option<Rectangle> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `model` and `dpi` are never read
[INFO] [stdout]   --> src/device.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Device {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 22 |     pub model: Model,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 23 |     pub proto: TouchProto,
[INFO] [stdout] 24 |     pub dpi: u16,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Device` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KEY_HOME` is never used
[INFO] [stdout]   --> src/input.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const KEY_HOME: u16 = 102;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dims` is never read
[INFO] [stdout]    --> src/input.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct Input {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 108 |     pub events: Receiver<DeviceEvent>,
[INFO] [stdout] 109 |     pub dims: (u32, u32),
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NTX_WFM_MODE_INIT` is never used
[INFO] [stdout]    --> src/framebuffer.rs:150:7
[INFO] [stdout]     |
[INFO] [stdout] 150 | const NTX_WFM_MODE_INIT: u32  = 0;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NTX_WFM_MODE_DU` is never used
[INFO] [stdout]    --> src/framebuffer.rs:151:7
[INFO] [stdout]     |
[INFO] [stdout] 151 | const NTX_WFM_MODE_DU: u32    = 1;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NTX_WFM_MODE_GC4` is never used
[INFO] [stdout]    --> src/framebuffer.rs:153:7
[INFO] [stdout]     |
[INFO] [stdout] 153 | const NTX_WFM_MODE_GC4: u32   = 3;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NTX_WFM_MODE_GL16` is never used
[INFO] [stdout]    --> src/framebuffer.rs:155:7
[INFO] [stdout]     |
[INFO] [stdout] 155 | const NTX_WFM_MODE_GL16: u32  = 5;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NTX_WFM_MODE_GLR16` is never used
[INFO] [stdout]    --> src/framebuffer.rs:156:7
[INFO] [stdout]     |
[INFO] [stdout] 156 | const NTX_WFM_MODE_GLR16: u32 = 6;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NTX_WFM_MODE_GLD16` is never used
[INFO] [stdout]    --> src/framebuffer.rs:157:7
[INFO] [stdout]     |
[INFO] [stdout] 157 | const NTX_WFM_MODE_GLD16: u32 = 7;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EPDC_FLAG_FORCE_MONOCHROME` is never used
[INFO] [stdout]    --> src/framebuffer.rs:165:7
[INFO] [stdout]     |
[INFO] [stdout] 165 | const EPDC_FLAG_FORCE_MONOCHROME: libc::c_uint = 0x02;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Partial` and `Gui` are never constructed
[INFO] [stdout]    --> src/framebuffer.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub enum Mode {
[INFO] [stdout]     |          ---- variants in this enum
[INFO] [stdout] 169 |     Fast,
[INFO] [stdout] 170 |     Partial,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 171 |     Gui,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Mode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `draw_disk`, `toggle_monochrome`, `id`, and `length` are never used
[INFO] [stdout]    --> src/framebuffer.rs:245:12
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl Framebuffer {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub fn draw_disk(&mut self, center: &Point, radius: u32, gray: u8) -> Rectangle {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     pub fn toggle_monochrome(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub fn id(&self) -> Cow<str> {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     pub fn length(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `InputEvent` does not permit being left uninitialized
[INFO] [stdout]    --> src/input.rs:148:60
[INFO] [stdout]     |
[INFO] [stdout] 148 |                 let mut input_event: InputEvent = unsafe { mem::uninitialized() };
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                            |
[INFO] [stdout]     |                                                            this code causes undefined behavior when executed
[INFO] [stdout]     |                                                            help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: integers must be initialized (in this struct field)
[INFO] [stdout]    --> src/input.rs:49:5
[INFO] [stdout]     |
[INFO] [stdout]  49 |     pub time: libc::timeval,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/framebuffer.rs:382:15
[INFO] [stdout]     |
[INFO] [stdout] 382 |     pub fn id(&self) -> Cow<str> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |               |
[INFO] [stdout]     |               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 382 |     pub fn id(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.30s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.7.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "241b63c37d8b21d19f89b28bd64e031dfad89143c980a10e24f2a0905889b418", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "241b63c37d8b21d19f89b28bd64e031dfad89143c980a10e24f2a0905889b418", kill_on_drop: false }`
[INFO] [stdout] 241b63c37d8b21d19f89b28bd64e031dfad89143c980a10e24f2a0905889b418
